import request from '@/utils/request1';
import { getUserId } from "@/utils";

// get请求不许处理数据不需要async await

// ----------------------   用户管理    ----------------------

// 用户名密码登录
async function getLogin(data) {
  return await request.post('/login', data);
}

// token登录
async function getDict() {
  return await request.get('/get_enum_type');
}

// 自定义上传
async function selfUpload(formData) {
  return await request.post('upfile', formData, {
    headers: { 'Content-Type': 'multipart/form-data' },
    timeout: 6000,
  });
}


// ----------------------   产品分类    ----------------------

// 产品分类查询（根据父级id）
async function getClassifyList(data) {
  return await request.post('/product_classify', data);
}

// 分类新增修改
async function addClassify(data) {
  return await request.post('/product_classify_update', data);
}

// 分类详情
async function getClassifyDetail(data) {
  return await request.post('/product_classify_details', data);
}


// ----------------------   物料管理    ----------------------


// 物料详情
async function getMaterialDetail(data) {
  return await request.post('/material_details', data);
}

// 物料添加/更新
async function addMaterial(data) {
  return await request.post('/material_update', data);
}

// 物料删除
async function deleteMaterial(data) {
  return await request.post('/material_delete', data);
}


// ----------------------   BOM管理    ----------------------


// 物料详情
async function getBomDetail(data) {
  return await request.post('/bom_details', data);
}

// 物料添加/更新
async function addBom(data) {
  return await request.post('/bom_update', data);
}

// 物料删除
async function deleteBom(data) {
  return await request.post('/bom_delete', data);
}

// 获取所有分类树形结构
async function getProductClassify() {
  return await request.get('/get_product_classify');
}

// BOM配件移除
async function deleteBomFit(data) {
  return await request.post('/bom_sub_remove', data);
}


// ----------------------   供应商管理    ----------------------


// 供应商列表
async function getSupplierBomList(data) {
  return await request.post('/supplier', data);
}

// 供应商详情
async function getSupplierBomDetail(data) {
  return await request.post('/supplier_details', data);
}

// 供应商添加/更新
async function addSupplier(data) {
  return await request.post('/supplier_update', data);
}

// 供应商删除
async function deleteSupplier(data) {
  return await request.post('/supplier_delete', data);
}




// ----------------------   产品管理    ----------------------

async function getProductList(data) {
  return await request.post('/product', data);
}

// 产品详情
async function getProductDetail(data) {
  return await request.post('/product_details', data);
}

// 产品添加
async function addProduct(data) {
  return await request.post('/product_add', data);
}

// 产品编辑
async function editProduct(data) {
  return await request.post('/product_edit', data);
}

// 产品删除
async function deleteProduct(data) {
  return await request.post('/product_delete', data);
}

// 产品规格父类移除
async function productAttrRemove(data) {
  return await request.post('/product_attr_remove', data);
}

// 产品规格子类移除
async function productAttrSubRemove(data) {
  return await request.post('/product_attr_sub_remove', data);
}



// ----------------------   销售订单    ----------------------

// 销售详情
async function getOrderDetail(data) {
  return await request.post('/order_details', data);
}

// 销售添加/更新
async function addOrder(data) {
  return await request.post('/order_update', data);
}

// 销售删除
async function deleteOrder(data) {
  return await request.post('/order_delete', data);
}

// 销售订单子订单移除
async function deleteOrderSub(data) {
  return await request.post('/order_sub_remove', data);
}


// ----------------------   生产计划列表    ----------------------

// 生产计划详情
async function getProductionDetail(data) {
  return await request.post('/production_details', data);
}

// 生产计划添加/更新
async function addProduction(data) {
  return await request.post('/production_update', data);
}

// 生产计划删除
async function deleteProduction(data) {
  return await request.post('/production_delete', data);
}

// 生产计划生产产品移除
async function deleteProductionSub(data) {
  return await request.post('/production_sub_remove', data);
}

// 生产计划查看BOM明细
async function getProductionBomList(data) {
  return await request.post('/get_production_bom_list', data);
}

// 选择执行单位
async function executeCheck(data) {
  return await request.post('/execute_check', data);
}

// BOM执行单位明细
async function executeList(data) {
  return await request.post('/execute_list', data);
}

// BOM执行单位数量修改
async function executeSave(data) {
  return await request.post('/execute_save', data);
}

// BOM执行单位删除
async function executeDelete(data) {
  return await request.post('/execute_delete', data);
}

// 生产计划生产产品移除
async function prodSubRemove(data) {
  return await request.post('/production_sub_remove', data);
}



export {
  getLogin,
  getDict,
  selfUpload,
  getClassifyList,
  addClassify,
  getClassifyDetail,
  getMaterialDetail,
  addMaterial,
  deleteMaterial,
  getBomDetail,
  addBom,
  deleteBom,
  getProductClassify,
  deleteBomFit,
  getSupplierBomList,
  getSupplierBomDetail,
  addSupplier,
  deleteSupplier,
  getProductList,
  getProductDetail,
  addProduct,
  editProduct,
  deleteProduct,
  productAttrRemove,
  productAttrSubRemove,
  getOrderDetail,
  addOrder,
  deleteOrder,
  deleteOrderSub,
  getProductionDetail,
  addProduction,
  deleteProduction,
  deleteProductionSub,
  getProductionBomList,
  executeCheck,
  executeList,
  executeSave,
  executeDelete,
  prodSubRemove,
}